(SST) ShlWAPI.pas Version 1.08

Developer Reference
(SST)ShlWAPI MakeDllVerULL Function
Encodes four word values as a single, composite, quadruple word version number. .
Scope
Global (i.e. this function can be called/accessed from code in any unit that includes/uses (SST)ShlWAPI.pas).
Syntax
function MakeDllVerULL(major : WORD; minor : WORD; build : WORD; qfe : WORD) : ULARGE_INTEGER;  
Parameters
major [in] A unsigned, 16-bit, word value that will be interpreted as the major version when decoding the resulting quad word.
minor [in] A unsigned, 16-bit, word value that will be interpreted as the minor version when decoding the resulting quad word.
build [in] A unsigned, 16-bit, word value that will be interpreted as the build number when decoding the resulting quad word.
qfe [in] A unsigned, 16-bit, word value that will be interpreted as the Quick Fix Engineering (QFE) number when decoding the resulting quad word.
Return Values
Returns an unsigned 64-bit, quadruple word value of type ULARGE_INTEGER that is a combination of the four input values.
Remarks
The four input values are encoded according to the following schema:
High 32 Bits (bits 32 .. 63) Low 32 Bits (bits 0 .. 31)
High Word Low Word High Word Low Word
Major version Minor version Build number QFE
The four values "major"=0x1122 (=4386), "minor"=0x3344 (= 13 124), "build"=0x5566 (= 21 862), and "qfe"=0xABCD (= 43 981) will therefore result in the following compound, quad word, version number: 0x1122 3344 5566 ABCD (= 1 234 605 616 436 521 933).
Unlike most other functions declared in SST ShlWAPI.pas Version 1.08, MakeDllVerULL is not an imported function. It is not only declared, but also implemented entirely in SST ShlWAPI.pas. Its binary/executable code is therefore always an inherent and not a dynamically linked part of the module that was compiled using SST ShlWAPI.pas.
Example
... const SAMPLE_MAJORVERSION = 1; //= $0001 const SAMPLE_MINORVERSION = 3; //= $0003 const SAMPLE_BUILDNUMBER = 42; //= $002A const SAMPLE_QFE = 88; //= $0058 procedure TForm4.TestMakeDllVerULL1(Sender : TObject) var versionnum : INT64; var dbgmsg : string; begin FillChar(versionnum, SizeOf(versionnum), #0); dbgmsg := ''; versionnum := INT64(MakeDllVerULL(SAMPLE_MAJORVERSION, SAMPLE_MINORVERSION, SAMPLE_BUILDNUMBER, SAMPLE_QFE)); dbgmsg := 'The composite version number of this app is : 0x' + IntToHex(versionnum, 16); ShowMessage(dbgmsg); end;
The above example will normally result in the following dialog being shown.
Fig.2.1.2.3.11.1.0.1
Fig.2.1.2.3.11.1.0.1
For a more comprehensive example on how to use this function please refer to the DllGetVersion function's description.
Requirements
Unit: Declared and implemented in (SST)ShlWAPI.pas
Library: (SST)ShlWAPI.dcu/(SST)ShlWAPI.obj
Unicode: Not applicable.
Min. ShlWAPI.dll version according to MS SDK doc.: Not applicable.
Min. ShlWAPI.dll version based on SST research: Not applicable.
Min. OS version(s) according to Microsoft SDK doc.: Not applicable.
Min. OS version(s) according to SST research.: Not applicable.
See Also
TDllVersionInfo2. TDllVersionInfo, TDllGetVersionProc, DllGetVersion.
 
Windows APIs: DLLVERSIONINFO, DLLVERSIONINFO2, DllGetVersion.


Document/Contents version 1.00
Page/URI last updated on 07.12.2023
 
Copyright © Stoelzel Software Technologie (SST) 2010 - 2017
Suggestions and comments mail to:
webmaster@stoelzelsoftwaretech.com